package com.xms.schema.service.attribute;

import com.xms.datacore.service.IFinderService;
import com.xms.schema.entity.Attribute;

import java.util.Collection;
import java.util.List;
import java.util.UUID;

/**
 * <p>
 * IAttributeFinderService
 * </p>
 *
 * @author migo
 * @since 2021/9/2
 */
public interface IAttributeFinderService extends IFinderService<Attribute> {
    Attribute getByName(UUID entityId, String name);

    Attribute getByName(String entityName, String name);

    List<Attribute> getByName(UUID entityId, Collection<String> name);

    List<Attribute> getByName(String entityName, Collection<String> name);

    List<Attribute> getByEntityId(UUID entityId);

    List<Attribute> getByEntityName(String entityName);

    List<Attribute> getBySummaryEntityId(UUID entityId);

    Attribute getPrimaryKey(UUID entityId);
    Attribute getPrimaryKey(String entityName);
    Attribute getPrimaryField(UUID entityId);
    Attribute getPrimaryField(String entityName);

    List<Attribute> getAuthorizations();
}
